package com.gxan.service;

import com.gxan.common.JsonResult;
import com.gxan.common.R;

import java.sql.SQLException;
import java.util.Date;

public interface SystemService {
    public R addDepartment(String dept_full_name, String dept_short_name, String dept_father, String dept_address, String common, String remark, String start);
    public JsonResult queryAllUser(Integer currentPage, Integer pageSize);

    public R addUser(String login_name, Integer password, String role, String dept_name, Integer phone);

    public R updateUser(Integer login_id, String login_name, String role, String dept_name, String phone);


    public R delUserById(Integer id);

    public JsonResult selectByNameRoleDepartment(String login_user, String role, String dept_name, Integer page, Integer limit);

    public JsonResult selectAllDeptname();


    public R addPosition(String job_name, String job_type, String dept_name, String description, String remark, Integer status);

    public JsonResult selectAllPosition(int currentPage, int pageSize);

    public R deletePositionById(int id);

    R updatePositionById(Integer job_id, String job_name, String job_type, String dept_name, String description, String remark, Integer status);

    JsonResult selectPositionByNameDepartmentStart(String job_name, String dept_name, int status, Integer page, Integer limit);

    R addJobtitle(String job_title_name, String dept_name, String description, String remark, Integer status);

    JsonResult selectJobtitleAll(int currentPage, int pageSize);

    R deleteJobtitleById(int id);

    R updateJobtitleById(Integer job_title_id, String job_title_name, String dept_name, String description, String remark, Integer status);

    JsonResult selectJobtitleByNameDepartmentStatus(String job_title_name, String dept_name, int status, Integer page, Integer limit);

    R addTest(String test_title, String test_type, String dept_name, String test_level, String test_setter, Date date, String test_content, String remark, String test_url, Integer status);

    JsonResult selectTestAll(Integer currentPage, Integer pageSize);

    R updateTestById(Integer test_id, String test_title, String test_type, String dept_name, String test_level, String test_setter, Date date, String test_content, String remark, String test_url, Integer status);

    R deleteTestById(int id);

    JsonResult selectTestByTitleTypeDepartmentStart(String test_title, String test_type, String dept_name, int status, Integer page, Integer limit);
}
